from rest_framework.response import Response


class APIResponse(Response):
    def __init__(self, code=100, msg='成功', result=None, status=None, headers=None, content_type=None, **kwargs):
        """
        先写自己需要的参数，然后写父类必须要的参数
        def __init__(self, data=None, status=None,
             template_name=None, headers=None,
             exception=False, content_type=None):
        :param code:
        :param msg:
        :param result:
        """
        dic = {
            'code': code,
            'msg': msg
            }
        if result:
            dic['result'] = result
        dic.update(kwargs)
        # super() 是一个对象，对象调用会自动传值
        super().__init__(data=dic, status=status, headers=headers, content_type=content_type)
        # Response.__init__(data=dic, status=status, headers=headers, content_type=content_type)
        # 两种写法不一样，第二种是类来调用对象的绑定方法，这个方法就是一个普通函数，
        # 有几个参数就要从交传几个参数，包括self